#ifndef __UDP__H_
#define __UDP__H_
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>

#define WIFI_ID         "xiaomi"    //网络名称
#define WIFI_PASSWORD   "882466aa"  //网络密码
#define LOCAL_UDP_PORT  2333        // 本地端口号
#define MAXLEN          64          //发送的包的最大字节
#define PACKET_HEAD     (char)0xff  //包头

typedef struct {
    float v_x;
    float v_z;
}RevPacket;                         //将v_x和v_z定义为一结构体，作为接收指令的数据部分

class my_UDP
{
    public:
        WiFiUDP Udp;                //UDP对象
        uint8_t rev_temp;           //接收字节缓存
        uint8_t rev_status;         //接收状态
        uint64_t rev_checksum;      //接收包的校验和
        RevPacket rev_packet;       //接收包的数据部分
        my_UDP();                   //构造函数
        void my_UDP_init();         //UDP初始化，由于存在利用串口输出信息部分，因而需在定义串口波特率之后运行
        bool UDP_rev();             //UDP接收数据函数，接收到新数据包并且解析成功之后返回true
};

#endif
